Clase 2: Investigación reproducible

Derek Corcoran
"10/08, 2018"

¿Que es investigación reproducible?

  • Código, datos (Crudos) y texto entrelazados
  • en R: Rmarkdown (Rmd) y Rpresentation (Rpres) entre otros

Peng

Metas del día de hoy

  1. Primer commit en github
  2. Un código en un chunk
  3. Un inline code
  4. Una tabla en el Rmarkdown
  5. Generar una primera exploración de datos con la base de datos

Github

  • Como “Google Drive” o “Dropbox” para código
  • Control de cambios (Podemos volver a cualquier versión anterior)
  • En base a codigo (idealmente), pero hay GUIs
  • Cada proyecto es un repositorio

plot of chunk unnamed-chunk-2

Crear primer repositorio

  • Crearse cuenta en github.com
  • Crear repositorio en github

plot of chunk unnamed-chunk-3

Crear primer repositorio

plot of chunk unnamed-chunk-4

Copiar la url

plot of chunk unnamed-chunk-5

Volvamos a RStudio

  • Creamos un proyecto nuevo

plot of chunk unnamed-chunk-6

Pegamos la URL

plot of chunk unnamed-chunk-7

La nueva pestaña git

plot of chunk unnamed-chunk-8

Los "¿tres?" pasos de un repositorio

  • Git add: Agregar a los archivos que vas a guardar
  • Git commit: Guardar en el repositorio local (Mi computador)
  • Git push: Guardar en el repositorio remoto (En la nube)

Git Add

  • Sumar un archivo al repositorio
  • ¿Cuando no hacerlo?
    • Limite de un archivo de 100 Mb
    • Límite de un repositorio de un Gb

plot of chunk unnamed-chunk-9

Git commit

  • Con esto dices quiero guardar mis cambios en mi disco duro
  • Se guarda en tu repositorio local (Tu computador)

plot of chunk unnamed-chunk-10

Mensaje del commit

  • Debe ser relevante (ejemplo, no poner Version final ahora si)
  • Si te equivocas puedes restablecer a cualquier commit anterior (si sabes cual es)

plot of chunk unnamed-chunk-11

A guardar el repositorio (git push)

  • Con esto subes tu commit a la nube (queda respaldado)

plot of chunk unnamed-chunk-12

Reproducibilidad en R

Rep

  1. Una carpeta
    • Datos crudos (csv, xls, html, json)
    • Codigo y texto (Rmd, Rpres, shiny)
    • Resultados (Manuscrito, Pagina Web, App)

Antes de empezar (importar datos)

  • Hasta ahora hemos usado data (sólo para bases incorporadas en R)
  • Dede hoy usaremos read_csv (Para csv, para otros archivos hay otras funciones)

Crear un nuevo Rmarkdown

NewRMD

Partes de un Rmd

  1. Texto
  2. Cunks
  3. Inline code
  4. Cheat sheet Rmd
  5. El botón mágico Knit

NewRMD

Texto

Titulo

subtitulo

cursiva

negrita

link

# Titulo

## subtitulo

*cursiva*

**negrita**

[link](https://stackoverflow.com/users/3808018/derek-corcoran)

Chunks

Chunk

  • echo = T o F muestro o no codigo
  • message = T o F muestra mensajes de paquetes
  • warning = T o F muestra advertencias
  • eval = T o F evaluar o no el código
  • cache = T o F guarda o no el resultado
  • Para más opciones ver este link

Inline code

Inline

  • Código entrelazado en el texto
  • Para actualizar medias, máximos, mínimos
  • Valores de p, diferencias estadísticas
  • Pueden ser vectores, no tablas.

Ejemplo

Pueden copiar el codigo de el siguiente link, copiarlo en un archivo rmd, apretar knit y debieran ver algo como esto:

Terremotos

Ejercicio 1

  • Usando la base de datos iris crea un inline code que diga cuál es la media del largo del pétalo de la especie Iris virginica
    • solución:
    • la media para I. virginica es 5.552
    • “la media para I. virginica es "r mean((iris %>% filter(Species == "virginica”))$Petal.Length)“”

Tablas: Kable

  • kable parte de knitr, tabla igual a lo ingresado
  • stargazer, comparación de modelos
  • otras opciones como texreg

Armemos nuestras propias tablas!!!

Tabla